<!doctype html>
<html class="default no-js">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>DrawCommandHandler | GoJS API</title>
	<meta name="description" content="Documentation for GoJS API">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="../../assets/css/style.css">
	<link rel="stylesheet" href="../assets/css/main.css">
	<script async src="../assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
	<nav id="navTop" class="w-full z-30 top-0 text-white bg-nwoods-primary">
		<div class="w-full container max-w-screen-lg mx-auto flex flex-wrap sm:flex-nowrap items-center justify-between mt-0 py-2">
			<div class="md:pl-4">
				<a class="text-white hover:text-white no-underline hover:no-underline
				font-bold text-2xl lg:text-4xl rounded-lg hover:bg-nwoods-secondary" href="../../index.html">
				<h1 class="mb-0 p-1 leading-none">GoJS</h1>
				</a>
			</div>
			<button id="topnavButton" class="rounded-lg sm:hidden focus:outline-none focus:ring" aria-label="Navigation">
				<svg fill="currentColor" viewBox="0 0 20 20" class="w-6 h-6">
					<path id="topnavOpen" fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z" clip-rule="evenodd"></path>
					<path id="topnavClosed" class="hidden" fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path>
				</svg>
			</button>
			<div id="topnavList" class="hidden sm:block items-center w-auto mt-0 text-white p-0 z-20">
				<ul class="list-reset list-none font-semibold flex justify-end flex-wrap sm:flex-nowrap items-center px-0 pb-0">
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../learn/index.html">Learn</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../samples/index.html">Samples</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../intro/index.html">Intro</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../api/index.html">API</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/products/register.html">Register</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="../../download.html">Download</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://forum.nwoods.com/c/gojs/11">Forum</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/contact.html"
					target="_blank" rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/contact.html', 'contact');">Contact</a></li>
					<li class="p-1 sm:p-0"><a class="topnav-link" href="https://www.nwoods.com/sales/index.html"
					target="_blank"rel="noopener" onclick="getOutboundLink('https://www.nwoods.com/sales/index.html', 'buy');">Buy</a></li>
				</ul>
			</div>
		</div>
		<hr class="border-b border-gray-600 opacity-50 my-0 py-0" />
	</nav>
	<div class="tsd tsd-page-header">
		<div class="tsd-page-toolbar">
			<div class="w-full max-w-screen-xl mx-auto px-2">
				<div class="table-wrap">
					<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
						<div class="field">
							<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
							<input id="tsd-search-field" type="text" />
						</div>
						<ul class="results">
							<li class="state loading">Preparing search index...</li>
							<li class="state failure">The search index is not available</li>
						</ul>
						<a href="../index.html" class="title">GoJS API</a>
					</div>
					<div class="table-cell" id="tsd-widgets">
						<div id="tsd-filter">
							<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
							<div class="tsd-filter-group">
								<div class="tsd-select" id="tsd-filter-visibility">
									<span class="tsd-select-label">All</span>
									<ul class="tsd-select-list">
										<li data-value="public">Public</li>
										<li data-value="protected">Public/Protected</li>
										<li data-value="private" class="selected">All</li>
									</ul>
								</div>
							</div>
						</div>
						<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
					</div>
				</div>
			</div>
		</div>
		<div class="tsd tsd-page-title">
			<div class="w-full max-w-screen-xl mx-auto px-2">
				<div class="top-copyright">
					<b>GoJS</b>&reg; Diagramming Components<br/>version 2.1.56<br/>by <a href="https://www.nwoods.com/">Northwoods Software&reg;</a>
				</div>
				<div>
					<h1>Class DrawCommandHandler</h1>
				</div>
			</div>
		</div>
	</div>
</header>
<div class="tsd w-full max-w-screen-xl mx-auto pb-4">
	<div class="row px-2 w-full">
		<div class="col-8 col-content">
			<section class="tsd-panel tsd-extension">
				<p>
					This is an extension and not part of the main GoJS library.
					Note that the API for this class may change at any time.
					If you intend to use an extension in production, you should copy the code to your own source directory.
					Extensions can be found in the GoJS kit under the <code>extensions</code>,
					<code>extensionsTS</code> (UMD modules), or <code>extensionsJSM</code> (ES6 modules) folders.
					See the <a href="../../intro/extensions.html">Extensions intro page</a> for more information.
				</p>
			</section>
			<section class="tsd-panel tsd-hierarchy">
				<h3>Hierarchy</h3>
				<ul class="tsd-hierarchy">
					<li>
						<a href="CommandHandler.html" class="tsd-signature-type" data-tsd-kind="Class">CommandHandler</a>
						<ul class="tsd-hierarchy">
							<li>
								<span class="target">DrawCommandHandler</span>
							</li>
						</ul>
					</li>
				</ul>
			</section>
			<section class="tsd-panel tsd-comment">
				<div class="tsd-comment tsd-typography">
					<p>This CommandHandler class allows the user to position selected Parts in a diagram
						relative to the first part selected, in addition to overriding the doKeyDown method
					of the CommandHandler for handling the arrow keys in additional manners.</p>
					<p>Typical usage:</p>
					<pre><code class="language-js"><span style="color: #D4D4D4">  </span><span style="color: #DCDCAA">$</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">go</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">Diagram</span><span style="color: #D4D4D4">, </span><span style="color: #CE9178">&quot;myDiagramDiv&quot;</span><span style="color: #D4D4D4">,</span>
<span style="color: #D4D4D4">    {</span>
<span style="color: #D4D4D4">      </span><span style="color: #9CDCFE">commandHandler:</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">$</span><span style="color: #D4D4D4">(</span><span style="color: #9CDCFE">DrawCommandHandler</span><span style="color: #D4D4D4">),</span>
<span style="color: #D4D4D4">      . . .</span>
<span style="color: #D4D4D4">    }</span>
<span style="color: #D4D4D4">  )</span>
</code></pre>
					<p>or:</p>
					<pre><code class="language-js"><span style="color: #D4D4D4">   </span><span style="color: #9CDCFE">myDiagram</span><span style="color: #D4D4D4">.</span><span style="color: #9CDCFE">commandHandler</span><span style="color: #D4D4D4"> = </span><span style="color: #569CD6">new</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">DrawCommandHandler</span><span style="color: #D4D4D4">();</span>
</code></pre>
					<p>If you want to experiment with this extension, try the <a href="../../extensionsJSM/DrawCommandHandler.html">Drawing Commands</a> sample.</p>
				</div>
			</section>
			<section class="tsd-panel-group tsd-index-group">
				<h2>Index</h2>
				<section class="tsd-panel tsd-index-panel">
					<div class="tsd-index-content">
						<section class="tsd-index-section tsd-is-inherited">
							<h3>Constructors</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><a href="DrawCommandHandler.html#constructor" class="tsd-kind-icon">constructor</a></li>
							</ul>
						</section>
						<section class="tsd-index-section ">
							<h3>Properties</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DrawCommandHandler.html#arrowKeyBehavior" class="tsd-kind-icon">arrow<wbr>Key<wbr>Behavior</a></li>
								<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DrawCommandHandler.html#pasteOffset" class="tsd-kind-icon">paste<wbr>Offset</a></li>
							</ul>
						</section>
						<section class="tsd-index-section ">
							<h3>Methods</h3>
							<ul class="tsd-index-list">
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignBottom" class="tsd-kind-icon">align<wbr>Bottom</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignCenterX" class="tsd-kind-icon">align<wbr>CenterX</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignCenterY" class="tsd-kind-icon">align<wbr>CenterY</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignColumn" class="tsd-kind-icon">align<wbr>Column</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignLeft" class="tsd-kind-icon">align<wbr>Left</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignRight" class="tsd-kind-icon">align<wbr>Right</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignRow" class="tsd-kind-icon">align<wbr>Row</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#alignTop" class="tsd-kind-icon">align<wbr>Top</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#canAlignSelection" class="tsd-kind-icon">can<wbr>Align<wbr>Selection</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#canRotate" class="tsd-kind-icon">can<wbr>Rotate</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="DrawCommandHandler.html#copyToClipboard" class="tsd-kind-icon">copy<wbr>ToClipboard</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="DrawCommandHandler.html#doKeyDown" class="tsd-kind-icon">do<wbr>Key<wbr>Down</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class tsd-is-overwrite"><a href="DrawCommandHandler.html#pasteFromClipboard" class="tsd-kind-icon">paste<wbr>From<wbr>Clipboard</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#pullToFront" class="tsd-kind-icon">pull<wbr>ToFront</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#pushToBack" class="tsd-kind-icon">push<wbr>ToBack</a></li>
								<li class="tsd-kind-method tsd-parent-kind-class"><a href="DrawCommandHandler.html#rotate" class="tsd-kind-icon">rotate</a></li>
							</ul>
						</section>
					</div>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group tsd-is-inherited">
				<h2>Constructors</h2>
				<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
					<a name="constructor" class="tsd-anchor"></a>
					<h3>
						constructor
					</h3>
					<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
						<li class="tsd-signature tsd-kind-icon">new <wbr>Draw<wbr>Command<wbr>Handler<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="DrawCommandHandler.html" class="tsd-signature-type" data-tsd-kind="Class">DrawCommandHandler</a></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>The constructor produces a CommandHandler with the default key bindings.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <a href="DrawCommandHandler.html" class="tsd-signature-type" data-tsd-kind="Class">DrawCommandHandler</a></h4>
						</li>
					</ul>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Properties</h2>
				<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
					<a name="arrowKeyBehavior" class="tsd-anchor"></a>
					<h3>
						arrow<wbr>Key<wbr>Behavior
					<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>        </h3>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Gets or sets the arrow key behavior. Possible values are &quot;move&quot;, &quot;select&quot;, and &quot;scroll&quot;.</p>
								<p>The default value is &quot;move&quot;.</p>
							</div>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
					<a name="pasteOffset" class="tsd-anchor"></a>
					<h3>
						paste<wbr>Offset
					<span class="tsd-signature-symbol">: </span><a href="Point.html" class="tsd-signature-type" data-tsd-kind="Class">Point</a>        </h3>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Gets or sets the offset at which each repeated <a href="CommandHandler.html#pasteSelection">pasteSelection</a> puts the new copied parts from the clipboard.</p>
							</div>
						</li>
					</ul>
				</section>
			</section>
			<section class="tsd-panel-group tsd-member-group ">
				<h2>Methods</h2>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignBottom" class="tsd-anchor"></a>
					<h3>
						align<wbr>Bottom
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Bottom<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts at the bottom-most edge of the bottom-most part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignCenterX" class="tsd-anchor"></a>
					<h3>
						align<wbr>CenterX
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>CenterX<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts at the x-value of the center point of the first selected part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignCenterY" class="tsd-anchor"></a>
					<h3>
						align<wbr>CenterY
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>CenterY<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts at the y-value of the center point of the first selected part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignColumn" class="tsd-anchor"></a>
					<h3>
						align<wbr>Column
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Column<span class="tsd-signature-symbol">(</span>distance<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts top-to-bottom in order of the order selected.
								Distance between parts can be specified. Default distance is 0.</p>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>distance: <span class="tsd-signature-type">number</span></h5>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignLeft" class="tsd-anchor"></a>
					<h3>
						align<wbr>Left
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Left<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts along the left-most edge of the left-most part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignRight" class="tsd-anchor"></a>
					<h3>
						align<wbr>Right
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Right<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts at the right-most edge of the right-most part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignRow" class="tsd-anchor"></a>
					<h3>
						align<wbr>Row
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Row<span class="tsd-signature-symbol">(</span>distance<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts left-to-right in order of the order selected.
								Distance between parts can be specified. Default distance is 0.</p>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>distance: <span class="tsd-signature-type">number</span></h5>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="alignTop" class="tsd-anchor"></a>
					<h3>
						align<wbr>Top
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">align<wbr>Top<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Aligns selected parts at the top-most edge of the top-most part.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="canAlignSelection" class="tsd-anchor"></a>
					<h3>
						can<wbr>Align<wbr>Selection
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">can<wbr>Align<wbr>Selection<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>This controls whether or not the user can invoke the <a href="DrawCommandHandler.html#alignLeft">alignLeft</a>, <a href="DrawCommandHandler.html#alignRight">alignRight</a>,
								<a href="DrawCommandHandler.html#alignTop">alignTop</a>, <a href="DrawCommandHandler.html#alignBottom">alignBottom</a>, <a href="DrawCommandHandler.html#alignCenterX">alignCenterX</a>, <a href="DrawCommandHandler.html#alignCenterY">alignCenterY</a> commands.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
							<p>This returns true:
								if the diagram is not <a href="Diagram.html#isReadOnly">Diagram.isReadOnly</a>,
								if the model is not <a href="Model.html#isReadOnly">Model.isReadOnly</a>, and
							if there are at least two selected <a href="Part.html">Part</a>s.</p>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="canRotate" class="tsd-anchor"></a>
					<h3>
						can<wbr>Rotate
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">can<wbr>Rotate<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>This controls whether or not the user can invoke the <a href="DrawCommandHandler.html#rotate">rotate</a> command.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
							<p>This returns true:
								if the diagram is not <a href="Diagram.html#isReadOnly">Diagram.isReadOnly</a>,
								if the model is not <a href="Model.html#isReadOnly">Model.isReadOnly</a>, and
							if there is at least one selected <a href="Part.html">Part</a>.</p>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
					<a name="copyToClipboard" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagOverride">Override</span>
						copy<wbr>ToClipboard
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
						<li class="tsd-signature tsd-kind-icon">copy<wbr>ToClipboard<span class="tsd-signature-symbol">(</span>coll<span class="tsd-signature-symbol">: </span><a href="Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type" data-tsd-kind="Class">Part</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Reset the last offset for pasting.</p>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>coll: <a href="Iterable.html" class="tsd-signature-type" data-tsd-kind="Interface">Iterable</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type" data-tsd-kind="Class">Part</a><span class="tsd-signature-symbol">&gt;</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>a collection of <a href="Part.html">Part</a>s.</p>
									</div>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
					<a name="doKeyDown" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagOverride">Override</span>
						do<wbr>Key<wbr>Down
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
						<li class="tsd-signature tsd-kind-icon">do<wbr>Key<wbr>Down<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>This implements custom behaviors for arrow key keyboard events.
									Set <a href="DrawCommandHandler.html#arrowKeyBehavior">arrowKeyBehavior</a> to &quot;select&quot;, &quot;move&quot; (the default), &quot;scroll&quot; (the standard behavior), or &quot;none&quot;
								to affect the behavior when the user types an arrow key.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
					<a name="pasteFromClipboard" class="tsd-anchor"></a>
					<h3>
						<span class="tsd-flag ts-flagOverride">Override</span>
						paste<wbr>From<wbr>Clipboard
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
						<li class="tsd-signature tsd-kind-icon">paste<wbr>From<wbr>Clipboard<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="Set.html" class="tsd-signature-type" data-tsd-kind="Class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type" data-tsd-kind="Class">Part</a><span class="tsd-signature-symbol">&gt;</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Paste from the clipboard with an offset incremented on each paste, and reset when copied.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <a href="Set.html" class="tsd-signature-type" data-tsd-kind="Class">Set</a><span class="tsd-signature-symbol">&lt;</span><a href="Part.html" class="tsd-signature-type" data-tsd-kind="Class">Part</a><span class="tsd-signature-symbol">&gt;</span></h4>
							<p>a collection of newly pasted <a href="Part.html">Part</a>s</p>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="pullToFront" class="tsd-anchor"></a>
					<h3>
						pull<wbr>ToFront
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">pull<wbr>ToFront<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Change the z-ordering of selected parts to pull them forward, in front of all other parts
									in their respective layers.
								All unselected parts in each layer with a selected Part with a non-numeric <a href="Part.html#zOrder">Part.zOrder</a> will get a zOrder of zero.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="pushToBack" class="tsd-anchor"></a>
					<h3>
						push<wbr>ToBack
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">push<wbr>ToBack<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Change the z-ordering of selected parts to push them backward, behind of all other parts
									in their respective layers.
								All unselected parts in each layer with a selected Part with a non-numeric <a href="Part.html#zOrder">Part.zOrder</a> will get a zOrder of zero.</p>
							</div>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
				<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
					<a name="rotate" class="tsd-anchor"></a>
					<h3>
						rotate
					</h3>
					<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
						<li class="tsd-signature tsd-kind-icon">rotate<span class="tsd-signature-symbol">(</span>angle<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
					</ul>
					<ul class="tsd-descriptions">
						<li class="tsd-description">
							<div class="tsd-comment tsd-typography">
								<p>Change the angle of the parts connected with the given part. This is in the command handler
								so it can be easily accessed for the purpose of creating commands that change the rotation of a part.</p>
							</div>
							<h4 class="tsd-parameters-title">Parameters</h4>
							<ul class="tsd-parameters">
								<li>
									<h5>angle: <span class="tsd-signature-type">number</span></h5>
									<div class="tsd-comment tsd-typography">
										<p>the positive (clockwise) or negative (counter-clockwise) change in the rotation angle of each Part, in degrees.</p>
									</div>
								</li>
							</ul>
							<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
						</li>
					</ul>
				</section>
			</section>
		</div>
		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
			<nav class="tsd-navigation primary">
				<ul>
					<li class=" ">
						<a href="../index.html">GoJS <wbr>Class <wbr>Index</a>
					</li>
				</ul>
			</nav>
			<nav class="tsd-navigation secondary menu-sticky">
				<ul class="before-current">
				</ul>
				<ul class="current">
					<li class="current tsd-kind-class tsd-is-extension">
						<a href="DrawCommandHandler.html" class="tsd-kind-icon">Draw<wbr>Command<wbr>Handler</a>
						<ul>
							<li class=" tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited">
								<a href="DrawCommandHandler.html#constructor" class="tsd-kind-icon">constructor</a>
							</li>
							<li class=" tsd-kind-accessor tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#arrowKeyBehavior" class="tsd-kind-icon">arrow<wbr>Key<wbr>Behavior</a>
							</li>
							<li class=" tsd-kind-accessor tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#pasteOffset" class="tsd-kind-icon">paste<wbr>Offset</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignBottom" class="tsd-kind-icon">align<wbr>Bottom</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignCenterX" class="tsd-kind-icon">align<wbr>CenterX</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignCenterY" class="tsd-kind-icon">align<wbr>CenterY</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignColumn" class="tsd-kind-icon">align<wbr>Column</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignLeft" class="tsd-kind-icon">align<wbr>Left</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignRight" class="tsd-kind-icon">align<wbr>Right</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignRow" class="tsd-kind-icon">align<wbr>Row</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#alignTop" class="tsd-kind-icon">align<wbr>Top</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#canAlignSelection" class="tsd-kind-icon">can<wbr>Align<wbr>Selection</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#canRotate" class="tsd-kind-icon">can<wbr>Rotate</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
								<a href="DrawCommandHandler.html#copyToClipboard" class="tsd-kind-icon">copy<wbr>ToClipboard</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
								<a href="DrawCommandHandler.html#doKeyDown" class="tsd-kind-icon">do<wbr>Key<wbr>Down</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-overwrite">
								<a href="DrawCommandHandler.html#pasteFromClipboard" class="tsd-kind-icon">paste<wbr>From<wbr>Clipboard</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#pullToFront" class="tsd-kind-icon">pull<wbr>ToFront</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#pushToBack" class="tsd-kind-icon">push<wbr>ToBack</a>
							</li>
							<li class=" tsd-kind-method tsd-parent-kind-class">
								<a href="DrawCommandHandler.html#rotate" class="tsd-kind-icon">rotate</a>
							</li>
						</ul>
					</li>
				</ul>
				<ul class="after-current">
				</ul>
			</nav>
		</div>
	</div>
</div>
<div class="tsd w-full max-w-screen-xl mx-auto px-2">
	<div class="bottom-copyright">Copyright &copy; 1998-2021 by Northwoods Software Corporation.</div>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-1506307-5"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date()); gtag('config', 'UA-1506307-5');
  var getOutboundLink = function(url, label) {
    gtag('event', 'click', {
      'event_category': 'outbound',
      'event_label': label,
      'transport_type': 'beacon'
    });
  }

  // topnav
  var topButton = document.getElementById("topnavButton");
  var topnavList = document.getElementById("topnavList");
  topButton.addEventListener("click", function() {
    this.classList.toggle("active");
    topnavList.classList.toggle("hidden");
    document.getElementById("topnavOpen").classList.toggle("hidden");
    document.getElementById("topnavClosed").classList.toggle("hidden");
  });
</script>
</body>
</html>